home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / bbs / tdk_v136.zip / GENOVR.PAS < prev    next >
Pascal/Delphi Source File  |  1997-03-30  |  2KB  |  64 lines

  1. {
  2.  ▀▀▀▀▀▀▀▀  ▀▀▀▀▀▀    ▀▀   ▀▀
  3.    ▀▀     ▀▀   ▀▀   ▀▀  ▀▀
  4.   ▀▀     ▀▀   ▀▀▀  ▀▀▀▀▀  The DoorKit!
  5.  ▀▀     ▀▀   ▀▀   ▀▀  ▀▀
  6. ▀▀     ▀▀▀▀▀▀    ▀▀    ▀▀
  7. The BBS Door Development Kit By The People - For The People!
  8.  
  9.  
  10.    Feel free to modify or optimize this code at will. All I ask is that if
  11.    find a better way to do things (and you will), please send me a copy of
  12.    your modifications. Thanks in advance!....Larry L. Athey....}
  13.  
  14. {$F+,I-,O-,N-}
  15. {$D-,L-,R-}
  16.  
  17. UNIT GENOVR;
  18.  
  19. INTERFACE
  20.  
  21. USES OVERLAY,OVERXMS,DOS;
  22.  
  23. IMPLEMENTATION
  24.  
  25. FUNCTION OvrName : STRING;
  26. VAR
  27.   ofd     : DirStr;
  28.   ofb     : NameStr;
  29.   ofx     : ExtStr;
  30.   DirInfo : SEARCHREC;
  31. BEGIN
  32.   IF PARAMSTR(0) = '' THEN BEGIN
  33.     WRITELN('This program requires DOS 3.0 or higher');
  34.     RunError(1000);
  35.   END;
  36.   FSplit(PARAMSTR(0),ofd,ofb,ofx);
  37.   FINDFIRST(ofd + ofb + '.OVR',AnyFile - Directory - VolumeID,DirInfo);
  38.   IF DOSERROR = 0 THEN OvrName := ofd + ofb + '.OVR'
  39.                   ELSE OvrName := ofd + ofb + '.EXE';
  40. END;
  41.    
  42. PROCEDURE IncreaseBuffer(ofn : STRING; minfree : LONGINT);
  43. VAR
  44.   Size : LONGINT;
  45.   ofl  : FILE;
  46. BEGIN
  47.   ASSIGN(ofl,ofn);
  48.   RESET(ofl,1);
  49.   Size := FILESIZE(ofl);
  50.   CLOSE(ofl);
  51.   IF Size > MAXAVAIL - MinFree THEN Size := MAXAVAIL - MinFree;
  52.   IF (Size > OvrGetBuf) THEN OvrSetBuf(size)
  53. END;
  54.    
  55. BEGIN
  56.   OvrInit(OvrName);
  57.   IF OvrResult <> 0 THEN RunError(OvrResult);
  58.   OvrInitXMS;
  59.   IF (OvrResult <> 0) THEN BEGIN
  60.     OvrInitEMS;
  61.     IF (OvrResult <> 0) THEN IncreaseBuffer(OvrName,128000);
  62.   END;
  63. END.
  64.